/**
 * Created by c on 2017-11-30.
 */

$(function(){

    $('#proNum').select2({
        placeholder: "请选择",
        language: "zh-CN"
    });

    //初始化制单日期获取现在时间
    var mydate = new Date();
    var str = "" + mydate.getFullYear() + "-";
    str += (mydate.getMonth()+1) + "-";
    str += mydate.getDate();
    $("p.osLeadtime").html(str);

    //加载添加模态框
    initinsertOutDels();
    //初始化单据编号
    initdsNum();
    //绑定领药人员下拉列表
    bindPer();
    //加载修改模态框
    initUp();


});

//初始化药品下拉列表
function initDrugSel(){
    $(".jiaDrugNum").children().not(".bus").remove();
    $.ajax({
        url:ctx+"/pur/searchDrug",
        dataType:"json",
        async:false,
        success:function(drug){
            $(drug).each(function(){
                var $opt = $("<option/>");
                $opt.val(this.drugNum);
                $opt.html(this.drugName);
                $opt.appendTo(".insertOutDels .jiaDrugNum");
            });
        }
    });
}

//绑定领药人员下拉列表
function bindPer(){
    $("#proNum").children(":gt(0)").remove();
    $.post(ctx+"/drug/getmedicper",null,function(med){
        $(med).each(function(){
            var $opt = $("<option/>");
            $opt.val(this.perId);
            $opt.html(this.worker.woName);
            $opt.appendTo("#proNum");
        });
    },"json");
}

//加载添加模态框
function initinsertOutDels(){

    $("#OutDels").children().clone().appendTo(".insertOutDels");

    $('.insertOutDels .jiaDrugNum').select2({
        placeholder: "请选择",
        language: "zh-CN"
    });
    //加载模态框
    $(".insertOutDels").dialog({
        title:"出库药品明细登记",
        btnValue:"登记",
        addBind:function(){
            var flag = "true";
            if(!checkjiaDrugNum() || !checkStoLotnum() || !checkosdNum()){
                flag="false";
            }
            if(flag=="true"){
                var param={};
                param.osNum=$("p.osNum").html();
                param.drugNum=$(".insertOutDels select[name=drugNum]").val();
                param.osdLotnum=$(".insertOutDels select[name=osdLotnum]").val();
                param.osdOneprice=$(".insertOutDels input[name=osdOneprice]").val();
                param.osdValiddate=$(".insertOutDels input[name=osdValiddate]").val();
                param.osdNum=$(".insertOutDels input[name=osdNum]").val();
                param.drugName=$(".insertOutDels select[name=drugNum] option:selected").html();
                param.delQoh=$(".insertOutDels input[name=delQoh]").val();

                $.post(ctx+"/drug/addOutDelsInMap",param,function(map){
                    $(".insertOutDels").dialog("close");

                    toastr.success("操作提示!","药品信息登记成功!");
                    $("table#delTable tr.info").remove();
                    for(var key in map){
                        $("<tr class='info'>"+
                            "<td class='keyId' style='display: none'>"+map[key].keyId+"</td>"+
                            "<td class='tdelQoh' style='display: none'>"+map[key].delQoh+"</td>"+
                            "<td class='tdrugNum'>"+map[key].drugNum+"</td>"+
                            "<td class='tdrugName'>"+map[key].drugName+"</td>"+
                            "<td class='tosdLotnum'>"+map[key].osdLotnum+"</td>"+
                            "<td class='tosdOneprice'>"+map[key].osdOneprice+"</td>"+
                            "<td class='tosdNum'>"+map[key].osdNum+"</td>"+
                            "<td class='tosdValiddate'>"+map[key].osdValiddate+"</td>"+
                            "<td>"+
                            '<button class="layui-btn layui-btn-normal layui-btn-mini updateDrug" type="button" onclick="updateDetails(this)">编辑</button>' +
                            '<button type="button" onclick="delDels(this)"  class="layui-btn layui-btn-danger layui-btn-mini del">删除</button>'+
                            "</td>"+
                            "</tr>").appendTo("#delTable");
                    }
                },"json");
            }
        }
    });
}

//删除单个
function delDels(td){
    swal({
        title:"确认提示",
        text:"确认移除此药品出库信息?",
        type:"warning",
        showCancelButton:true,
        closeOnConfirm:false,
        confirmButtonText:"删除",
        confirmButtonColor:"#DD6B55",
        cancelButtonText: "取消"
    }).then(function(){
        var keyId = $(td).parent().parent().children(":eq(0)").html();
        var keyId="keyId="+keyId;
        $.post(ctx+"/drug/delOutDels",keyId,function(flag){
            if(flag=="true"){
                toastr.success("操作提示!","药品信息移除成功!");
                $(td).parent().parent().remove();
            }else{
                toastr.error("操作提示!","系统繁忙,操作失败!");
            }
        },"text");
    });
}

function initUp(){
    $("#OutDels").children().clone().appendTo(".updateOutDels");
    //加载模态框
    $(".updateOutDels").dialog({
        title:"出库药品明细修改",
        btnValue:"登记",
        addBind:function(){
            var param = $(".updateOutDels input[name=osdNum]").val();
            var keyId = $(".updateOutDels input[name=keyId]").val();

            $.post(ctx+"/drug/updateOutDelsInMap",{"osdNum":param,"keyId":keyId},function(flag){
                if(flag=="true"){
                    $("#delTable tr.info").each(function(){
                        if($(this).children(".keyId").html()==keyId){
                            $(this).children(".tosdNum").html(param)
                        }
                    });
                    toastr.success("操作提示!","出库信息修改成功!");
                    $(".updateOutDels").dialog("close");
                }
            },"text");
        }
    });
}

//编辑
function updateDetails(td){
    $(".updateOutDels select[name=drugNum]").replaceWith('<input type="text" readonly="readonly" name="drugName" class="form-control">');
    $(".updateOutDels select[name=osdLotnum]").replaceWith('<input type="text" readonly="readonly" name="osdLotnum" class="form-control">');
    $(".updateOutDels input[name=keyId]").remove();
    $('<input type="hidden" name="keyId" class="form-control">').appendTo(".updateOutDels form");
    $(".updateOutDels").dialog("open");


    $(".updateOutDels input[name=drugName]").val($(td).parent().parent().children(".tdrugName").html());
    $(".updateOutDels input[name=osdLotnum]").val($(td).parent().parent().children(".tosdLotnum").html());
    $(".updateOutDels input[name=osdOneprice]").val($(td).parent().parent().children(".tosdOneprice").html());
    $(".updateOutDels input[name=osdValiddate]").val($(td).parent().parent().children(".tosdValiddate").html());
    $(".updateOutDels input[name=osdNum]").val($(td).parent().parent().children(".tosdNum").html());
    $(".updateOutDels input[name=delQoh]").val($(td).parent().parent().children(".tdelQoh").html());
    $(".updateOutDels input[name=keyId]").val($(td).parent().parent().children(".keyId").html());

}

//用户选择领药人员绑定领药人员信息
function selChange(sel){
    var param = "perId="+$(sel).val();
    $.post(ctx+"/drug/getPriById",param,function(med){
        $("p#divName").html(med.division.divName);
        $("p#divPhone").html(med.division.divPhone);
    },"json");
}

//初始化单据编号
function initdsNum(){
    $.post(ctx+"/drug/getOutstorageNum",null,function(newNum){
        $("p.osNum").html(newNum);
    },"text");
}

//打开模态框
function openDia(){
    //清空input框数据
    $(".insertOutDels select[name=drugNum]").select2().val(-1);
    $("span.checkjiaDrugNum").html("")
    $(".insertOutDels select[name=osdLotnum]").select2().val(-1);
    $("span.checkosdLotnum").html("")
    $(".insertOutDels input[name=osdOneprice]").val("");
    $(".insertOutDels input[name=osdValiddate]").val("");
    $(".insertOutDels input[name=osdNum]").val("");
    $(".insertOutDels input[name=delQoh]").val("");
    $(".insertOutDels").dialog("open");
    $(".insertOutDels span.checkosdNum").children().remove();
    initDrugSel();
}

//用户选择药品时ajax获取该药品的所有批号
function searchDrugStock(sel){
    var num = $(sel).val();
    if(num!="-1"){
        $("p.checkosdValiddate").children().remove();
        $(".insertOutDels input[name=osdNum]").removeAttr("readonly");
    }
    $(".stoLotnum").children().not(".bus").remove();
    $(".insertOutDels input[name=osdOneprice]").val("");
    $(".insertOutDels input[name=osdValiddate]").val("");
    $(".insertOutDels input[name=delQoh]").val("");
    if(num=="-1"){
        return;
    }

    $('.insertOutDels .stoLotnum').select2({
        placeholder: "请选择",
        language: "zh-CN"
    });
    $.post(ctx+"/drug/getDrugSto","drugNum="+num,function(stock){
        $(stock).each(function(){
            var $opt = $("<option/>");
            $opt.val(this.stoLotnum);
            $opt.html(this.stoLotnum);
            $opt.appendTo(".insertOutDels .stoLotnum");
        });
    },"json");
}

//用户选择药品批号时ajax获取该药品的库存信息
function searchOneDrugInfo(sel){
    var num = $(sel).val();
    if(num=="-1"){
        $(".insertOutDels input[name=osdOneprice]").val("");
        $(".insertOutDels input[name=osdValiddate]").val("");
        $(".insertOutDels input[name=delQoh]").val("");
        return;
    }
    var drugNum = $(".insertOutDels select[name=drugNum]").val();
    var param = "drugNum="+drugNum+"&osdLotnum="+num
    $.post(ctx+"/drug/getStoBystoLotnum",param,function(stock){
        $(".insertOutDels input[name=osdOneprice]").val(stock.stoPresell);
        $(".insertOutDels input[name=osdValiddate]").val(stock.stoValiddate);
        $(".insertOutDels input[name=delQoh]").val(stock.stoPcs);

        var old = stock.stoValiddate;
        var  dao = new Date(old);
        var now = new Date();
        var xianzai = now.setDate(now.getDate() - 60);
        var nowDate = new Date(xianzai);

        if(dao<=nowDate){
            $("p.checkosdValiddate").html('<br/><span style="color: red;" class="checkosdValiddate" >不可出库质保期接近临界点的药品!</span>');
            $(".insertOutDels input[name=osdNum]").attr("readonly","readonly");
        } else {
            $("p.checkosdValiddate").children().remove();
            $(".insertOutDels input[name=osdNum]").removeAttr("readonly");
        }
    },"json");
}

//出库
function addOutDeltails(){

    var proNum = $("select[name=proNum]").val();
    if(proNum=="-1"){
        swal({
            type:"error",
            text:"请选择科室领药人员!"
        });
        return;
    } else if($("#delTable tr.info").html()==null || $("#delTable tr.info").html()==''){
        swal({
            type:"error",
            text:"请登记出库药品信息!"
        });
        return;
    }

    var param={};
    param.osNum=$("p.osNum").html();
    param.osLdm=$("select[name=proNum]").val();
    param.osLeadtime = $("p.osLeadtime").html();
    param.osOperator = $("p.osOperNum").html();
    $.post(ctx+"/drug/addOutDelsAndOutSto",param,function(flag){
        if(flag=="true"){
            swal({
                title: '<h1 style="font-weight:bold;color:red">出库操作成功!</h1>',
                type: 'success',
                html: '<a href= "'+ctx+'/stock/stoView/index" class="btn btn-primary">查看库存信息</a>&nbsp;&nbsp;&nbsp;&nbsp;' +
                '<a href= "'+ctx+'/drug/poslog/index?osNum='+param.osNum+'" class="btn btn-info">查看出库记录</a>',
                showCloseButton: true,
                confirmButtonColor: 'gray',
                confirmButtonText: ' <i class="mui-icon mui-icon-refresh"></i>取消'
            }).then(function(){
                location.href = ctx+"/drug/pos/index";
            });
        } else {
            toastr.error("操作提示!","系统繁忙,操作失败!");
        }
    },"text");
}

//验证用户选择的药品
function checkjiaDrugNum(){
    var flag = "true";
    var num = $(".insertOutDels select[name='drugNum']").val();
    if(num=="-1"){
        flag="false";
        $("span.checkjiaDrugNum").html('<i class="layui-icon" style="color:red;">ဇ</i>&nbsp;<span style="color: red">请选择药品！</span>');
        return false;
    }

    if(flag=="true"){
        $("span.checkjiaDrugNum").html('<i class="layui-icon" style="color:green;"></i>');
        return true;
    }
}



//验证用户选择的批号
function checkStoLotnum(){

    var flag = "true";
    var num = $(".insertOutDels select[name='osdLotnum']").val();
    var numName = $(".insertOutDels select[name='osdLotnum']").find("option:selected").text();

    if(num=="-1"){
        flag="false";
        $("p.checkosdValiddate").children().remove();
        $(".insertOutDels input[name=osdNum]").removeAttr("readonly");
        $("span.checkosdLotnum").html('<i class="layui-icon" style="color:red;">ဇ</i>&nbsp;<span style="color: red">请选择药品批号！</span>');
        return false;
    }

    $("#delTable tr").each(function(){
        if(numName==$(this).children("td.tosdLotnum").html()){
            flag="false";
            $("span.checkosdLotnum").html('<i class="layui-icon" style="color:red;">ဇ</i>&nbsp;<span style="color: red">此批号已经选择过！</span>');
            return false;
        }
    })

    if(flag=="true"){
        $("span.checkosdLotnum").html('<i class="layui-icon" style="color:green;"></i>');
        return true;
    }
}

//判断出库数量
function checkosdNum(){
    var osdNum = $(".insertOutDels input[name=osdNum]").val();
    $("span.checkosdNum").html(" ").css("color","red");
    var delQoh = $(".insertOutDels input[name=delQoh]").val();
    if(osdNum==""){
        $("span.checkosdNum").html('<i class="layui-icon" style="color:red;">ဇ</i>&nbsp;<span style="color: red">请输入出库数量！</span>');
        return false;
    } else if(parseInt(osdNum)>parseInt(delQoh)){
        $("span.checkosdNum").html('<i class="layui-icon" style="color:red;">ဇ</i>&nbsp;<span style="color: red">数量高于现有库存！</span>');
        return false;
    } else {
        $("span.checkosdNum").html('<i class="layui-icon" style="color:green;"></i>');
        return true;
    }
}

function huifu(){
    $("span.checkosdNum").html("");
}